package com.controller;

import com.dto.JsonResult;
import com.entity.SysServer;
import com.entity.SysVersionManage;
import com.service.VersionService;
import com.vo.ProjectVo;
import com.vo.VersionVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


/**
 * @author Yadasu
 * @date 2021/1/25 16:22
 */
@RestController
public class VersionController {

    @Autowired
    private VersionService versionService;

    /**
     * 查询所有版本信息
     * @return
     */
    @GetMapping("/api/version")
    public JsonResult check() {
        return JsonResult.buildSuccess(200, versionService.findAll());
    }



    /**
     * 通过应用名称和版本号查询是否要更新
     * @param versionVo
     * @return
     */
    @PostMapping("/api/version/search")
    public JsonResult search(@RequestBody VersionVo versionVo) {
        return JsonResult.buildSuccess(200, versionService.updateVersion(versionVo));
    }

    /**
     * 通过应用名称和版本号进行更新
     */
    @PostMapping("/api/version/windowsUpdateVersion")
    public JsonResult WindowsUpdate(@RequestBody VersionVo versionVo) {
        return JsonResult.buildSuccess(200, versionService.windowsTriggerUpdateVersion(versionVo));
    }

    /**
     * 通过应用名称和版本号进行更新
     * @param versionVo
     * @return
     */
    @PostMapping("/api/version/windowsClientUpdateVersion")
    public JsonResult WindowsClientUpdate(@RequestBody VersionVo versionVo) {
        return JsonResult.buildSuccess(200, versionService.windowsClientUpdate(versionVo));
    }


    /**
     * 新增项目
     * @param projectVo
     * @return
     */
    @PutMapping("/api/project/add")
    public JsonResult addProject(@RequestBody ProjectVo projectVo) {
        return JsonResult.buildSuccess(200, versionService.addProject(projectVo));
    }


    /**
     * 部署文件
     * @param projectVo
     * @return
     */
    @PostMapping("/api/version/windowsClientAddVersion")
    public JsonResult remoteDevelopmentProject(@RequestBody ProjectVo projectVo) {
        System.out.println(projectVo);
        return JsonResult.buildSuccess(200, versionService.windowsClientAdd(projectVo));
    }

}
